package com.ggkt.common.utils.entity;
import com.alibaba.fastjson.JSONObject;
import com.ggkt.common.utils.dao.Query;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * @author ggkt
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class UserInfo extends Query {

    /**
     * 用户ID
     */
    private Integer adminID;

    /**
     * 用户名
     */
    private String adminName;

    /**
     * 真实姓名
     */
    private String realName;

    /**
     * 手机号码
     */
    private String cellphone;

    /**
     * 最后一次登录时间
     */
    private Date lastLogin;

    /**
     * 最后一次登录状态
     */
    private String loginIP;

    /**
     * 员工状态 1-有效,0无效
     */
    private Integer status;

    /**
     * 创建人，无数据
     */
    private Integer creator;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 所在部门，对应rad_admin_organise表parentID
     */
    private Integer departmentID;

    /**
     * 所在小组，对应rad_admin_organise表organiseID
     */
    private Integer organiseID;

    /**
     * 邮箱
     */
    private String email;

    /**
     * 工号
     */
    private String jobNumber;

    /**
     * 修改时间
     */
    private Date updateTime;

    /**
     * 同步时间
     */
    private Date syncTime;

    /**
     * erp系统真实姓名
     */
    private String lanUserRealName;

    /**
     * erp系统员工状态
     */
    private Integer lanUserStatus;

    /**
     * 钉钉部门ID
     */
    private String mainDeptId;

    /**
     * 钉钉公司ID
     */
    private Integer companyId;

    /**
     * 员工类别 内部员工：staff ，老师：teacher、嘉宾：guest、兼职：partJob
     */
    private String accountType;

    /**
     * 入职时间
     */
    private Date hiredDate;

    /**
     * 所属编制：1-乾乾，2-正保，3-乾乾（兼职），4-社群，5-社群（兼职）
     */
    private Integer companyStatus;

    /**
     * 所属营销中心：1-乾乾 2-石家庄 3-北京
     */
    private Integer marketStatus;

    /**
     * 所属角色：1-员工，2-组长，3-经理，4-总监，5-管理员
     */
    private Integer roleStatus;

    /**
     * 是否展示手机号，1-展示，0-不展示
     */
    private Integer showPhone;

    /**
     * 是否接收数据，1：可接收；0：不接收
     */
    private Integer recDataStatus;

    /**
     * 办公地点
     */
    private Integer locationID;

    /**
     * 座席工号，天润坐席号码
     */
    private String seatNum;

    /**
     * 绑定分机，天润分机号码
     */
    private String extenNum;

    /**
     * 座席密码，天润分机密码，配置话盒使用
     */
    private String passWordNum;

    /**
     * 电话类型：1：电话号码；4:远程座席电话
     */
    private Integer bindType;

    /**
     * 座席使用部门，销售部门，服务部门
     */
    private String enterpriseId;

    /**
     * 部门对应的授权码
     */
    private String token;

    /**
     * 今日登陆状态，1：已登录；2：未登录
     */
    private Integer loginStatus;

    /**
     * 0-离线，1-在线
     */
    private Integer phoneStatus;

    /**
     * 打卡状态，默认未打卡(0)，已打卡(1)
     */
    private Integer punchCardStatus;

    /**
     * 失效时间
     */
    private Date invalidTime;

    private Integer accountId;        //统一平台用户主键 对应本地adminID
    private String workPlace;        //工作地点
    private String active;            //是否已经激活，true表示已激活，false表示未激活
    private String nickName;        //兼职人员名称  对应 realName
    private Integer userSyncNum;    //同步数目
    private Integer siteID;            //网站
    private String organiseName;    //设置分组（组织管理双击组织展示员工信息使用）
    private String userTableName;
    private String bandOrganiseTime;

    /**
     * 管理网站
     */
    private List manageWebsites;

    /**
     * 绑定微信
     */
    private List<Map<String, String>> wechatList;

    /**
     * 管理小组
     */
    private List<JSONObject> managementTeam;
}
